In recent years, due to the requirements for high-speed communications on networks such as the Internet and the wide spread use of personal computers, communication methods that provide high-speed data communications and minimize installation costs and user fees have become imperative. As a result, Digital Subscriber Line and variations thereof (xDSL) have been proposed. Advantageously, xDSL enables digital data communications using existing infrastructure such as copper phone lines installed in homes and offices.
In general, “xDSL” refers to all types of communication methods using phone lines, and includes High data-rate DSL (HDSL) which is replacing existing T1 lines, Symmetric DSL (SDSL) which is replacing T1 or E1 lines by using a single twisted-pair copper lines, and Asymmetric DSL (ADSL) which is capable of transmitting high-capacity data using a public switched telephone network (PSTN).
In general, a data communications system includes a central office and a plurality of remote terminals. Each remote terminal communicates with the central office over a data link, i.e., a channel that is established between the central office and the remote terminal. To establish the data link, an initialization process is performed to initialize communications between the central office and each of the remote terminals. For this, the central office includes a central modem and the remote terminal includes a remote modem. These modems are transceivers for facilitating data transmission between the central office and a remote terminal.
An initialization process for a multi-channel communication system generally includes operations such as activation and acknowledgment of initialization requests, transceiver training at both the central office and a remote terminal, exchange of rate requests between the central office and a remote terminal, channel analysis, and exchange of transmitter settings (i.e., bit allocation tables) between the central office and a remote terminal.
In a multi-channel communication system such as an ADSL system, a plurality of channels (e.g., frequency tones) are used to transmit data between the central office and a remote terminal, and the initialization process is performed using conventional protocols such as the T1E1 ADSL Standard, which describes an initialization process that is implemented by transceivers. An initialization process of an ADSL system is disclosed, for example, in U.S. Pat. No. 6,249,543 entitled “PROTOCOL FOR TRANSCEIVER INITIALIZATION” by Chow.
In the initialization process of a multi-channel communication system, the number of bits that are allocated or loaded to each subchannel is typically calculated based on a signal to noise ratio (hereinafter referred to as “SNR”).
Currently, there are various bit allocation algorithms that are widely used. For instance, Chow describes a bit allocation protocol that performs a basic bit allocation in a measured system SNR using a SNR gap and a desired system margin. The margin is adjusted such that the calculated bit number is equal to the desired total bit number. If the desired total bit number is more than the current bit number, the bit number of a subchannel whose margin is the minimum is decreased by using a margin function derived from a bit loading algorithm. On the other hand, if the desired total bit number is less than the current bit number, the bit number of a subchannel whose margin is the maximum is increased by one. The Chow algorithm makes it easy to calculate times or margins due to simplicity of the bit allocation method. However, because the algorithm is made under the assumption that the number of subchannels that are used is always the same, the protocol does not provide optimized bit loading.
A second known bit loading protocol uses a target system SNR to provide an optimized bit allocation scheme. This algorithm performs a bit loading using a system SNR and a noise figure. After setting a sufficient system margin, the bit loading is performed. A bit allocation is performed using the present margin function by increasing one by one the bit number of a subchannel whose margin is the maximum. When the obtained total bit number is different from the desired total bit number, the present data rate approximates to the desired data rate by increasing or decreasing the bit number one by one using the margin function. Consequently, because the bit loading is performed by one bit, the number of calculations and performance time is greatly increased.
A third known bit allocation protocol is one where bit loading is performed using a target system SNR and a noise figure. This protocol algorithm is based on the second protocol described above. But, after dividing the SNR into the noise figure in an initialization allocation, an existing bit loading algorithm is performed. However, the number of calculations cannot be neglected in digital signal processing (DSP).